home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Periodicals / develop / develop 3 code / Meet PrGeneral / PrGeneralPlay.r < prev    next >
Encoding:
Text File  |  1990-06-06  |  18.0 KB  |  548 lines  |  [TEXT/MPS ]

  1. /*------------------------------------------------------------------------------
  2. #
  3. #    PrGeneralPlay.r    -   Rez source
  4. #
  5. #    PrGeneralPlay is an example application that demonstrates the use
  6. #     of PrGeneral's opcodes: GetRslData, SetRsl, GetRotn, DraftBits, and 
  7. #   NoDraftBits.  For complete details about the functionality of this
  8. #    application, see the header at the top of the PrGeneralPlayPrint.c file.
  9. #
  10. # ------------------------------------------------------------------------------  
  11. #
  12. #    Versions:   1.00                    June 1, 1990
  13. #
  14. #    Components: PrGeneralPlay.c            June 1, 1990
  15. #                PrGeneralPlayPrint.c    June 1, 1990
  16. #                PrGeneralPlay.h            June 1, 1990
  17. #                PrGeneralPlay.r            June 1, 1990
  18. #
  19. #
  20. #    Apple Macintosh Developer Technical Support
  21. #    Copyright © 1990 Apple Computer, Inc.
  22. #    All rights reserved.
  23. #
  24. ------------------------------------------------------------------------------*/
  25.  
  26. #include "Types.r"
  27. #include "PrGeneralPlay.h"
  28.  
  29. /* we use an MBAR resource to conveniently load all the menus */
  30.  
  31. resource 'MBAR' (rMenuBar, preload) {
  32.     { mApple, mFile, mEdit, mPrGeneral };    /* four menus */
  33. };
  34.  
  35.  
  36. resource 'MENU' (mApple, preload) {
  37.     mApple, textMenuProc,
  38.     AllItems & ~MenuItem2,    /* Disable dashed line, enable About and DAs */
  39.     enabled, apple,
  40.     {
  41.         "About PrGeneral Play…",
  42.             noicon, nokey, nomark, plain;
  43.         "-",
  44.             noicon, nokey, nomark, plain
  45.     }
  46. };
  47.  
  48. resource 'MENU' (mFile, preload) {
  49.     mFile, textMenuProc,
  50.     (MenuItem9 | MenuItem10 | MenuItem12),                
  51.     enabled, "File",
  52.     {
  53.         "New",
  54.             noicon, "N", nomark, plain;
  55.         "Open",
  56.             noicon, "O", nomark, plain;
  57.         "-",
  58.             noicon, nokey, nomark, plain;
  59.         "Close",
  60.             noicon, "W", nomark, plain;
  61.         "Save",
  62.             noicon, "S", nomark, plain;
  63.         "Save As…",
  64.             noicon, nokey, nomark, plain;
  65.         "Revert",
  66.             noicon, nokey, nomark, plain;
  67.         "-",
  68.             noicon, nokey, nomark, plain;
  69.         "Page Setup…",
  70.             noicon, nokey, nomark, plain;
  71.         "Print…",
  72.             noicon, "P", nomark, plain;
  73.         "-",
  74.             noicon, nokey, nomark, plain;
  75.         "Quit",
  76.             noicon, "Q", nomark, plain
  77.     }
  78. };
  79.  
  80. resource 'MENU' (mEdit, preload) {
  81.     mEdit, textMenuProc,
  82.     NoItems,                /* disable everything, program does the enabling */
  83.     enabled, "Edit",
  84.      {
  85.         "Undo",
  86.             noicon, "Z", nomark, plain;
  87.         "-",
  88.             noicon, nokey, nomark, plain;
  89.         "Cut",
  90.             noicon, "X", nomark, plain;
  91.         "Copy",
  92.             noicon, "C", nomark, plain;
  93.         "Paste",
  94.             noicon, "V", nomark, plain;
  95.         "Clear",
  96.             noicon, nokey, nomark, plain
  97.     }
  98. };
  99.  
  100.  
  101. resource 'MENU' (mPrGeneral, preload) {
  102.     mPrGeneral, textMenuProc,
  103.     NoItems,                 /* disable everything, program does the enabling */
  104.     enabled, "PrGeneral Land",
  105.      {
  106.         "High Resolution printing (GetRslData & SetRsl)", 
  107.             noicon, nokey, nomark, plain;            
  108.         "Forced draft mode printing (DraftBits)",
  109.             noicon, nokey, nomark, plain;
  110.         "Check for landscape orientation (GetRotn)",
  111.             noicon, nokey, nomark, plain;
  112.     }
  113. };
  114.  
  115.  
  116. /* this ALRT and DITL are used as an About screen */
  117.  
  118. resource 'ALRT' (rAboutAlert, purgeable) {
  119.     {40, 20, 160, 290},
  120.     rAboutAlert,
  121.     { /* array: 4 elements */
  122.         /* [1] */
  123.         OK, visible, silent,
  124.         /* [2] */
  125.         OK, visible, silent,
  126.         /* [3] */
  127.         OK, visible, silent,
  128.         /* [4] */
  129.         OK, visible, silent
  130.     }
  131. };
  132.  
  133.  
  134. resource 'DITL' (rAboutAlert, purgeable) {
  135.     { /* array DITLarray: 5 elements */
  136.         /* [1] */
  137.         {88, 180, 108, 260},
  138.         Button {
  139.             enabled,
  140.             "OK"
  141.         },
  142.         /* [2] */
  143.         {8, 8, 24, 214},
  144.         StaticText {
  145.             disabled,
  146.             "Playing in PrGeneral Land..."
  147.         },
  148.         /* [3] */
  149.         {32, 8, 48, 237},
  150.         StaticText {
  151.             disabled,
  152.             "Copyright © 1990 Apple Computer"
  153.         },
  154.         /* [4] */
  155.         {56, 8, 72, 136},
  156.         StaticText {
  157.             disabled,
  158.             "Brought to you by:"
  159.         },
  160.         /* [5] */
  161.         {80, 24, 112, 167},
  162.         StaticText {
  163.             disabled,
  164.             "Macintosh Developer   Technical Support"
  165.         }
  166.     }
  167. };
  168.  
  169.  
  170. /* this ALRT and DITL are used as an error screen */
  171.  
  172. resource 'ALRT' (rUserAlert, purgeable) {
  173.     {40, 20, 126, 326},
  174.     rUserAlert,
  175.     { /* array: 4 elements */
  176.         /* [1] */
  177.         OK, visible, silent,
  178.         /* [2] */
  179.         OK, visible, silent,
  180.         /* [3] */
  181.         OK, visible, silent,
  182.         /* [4] */
  183.         OK, visible, silent
  184.     }
  185. };
  186.  
  187.  
  188. resource 'DITL' (rUserAlert, purgeable) {
  189.     { /* array DITLarray: 3 elements */
  190.         /* [1] */
  191.         {51, 209, 70, 290},
  192.         Button {
  193.             enabled,
  194.             "OK"
  195.         },
  196.         /* [2] */
  197.         {10, 60, 30, 300},
  198.         StaticText {
  199.             disabled,
  200.             "Error occurred in PrGeneral Play..."
  201.         },
  202.         /* [3] */
  203.         {8, 8, 40, 40},
  204.         Icon {
  205.             disabled,
  206.             2
  207.         }
  208.     }
  209. };
  210.  
  211. /* this ALRT and DITL are used to tell the user that 32-bit QuickDraw is required */
  212.  
  213. resource 'ALRT' (r32BitQDAlert, purgeable) {
  214.     {40, 20, 125, 450},
  215.     r32BitQDAlert,
  216.     { /* array: 4 elements */
  217.         /* [1] */
  218.         OK, visible, silent,
  219.         /* [2] */
  220.         OK, visible, silent,
  221.         /* [3] */
  222.         OK, visible, silent,
  223.         /* [4] */
  224.         OK, visible, silent
  225.     }
  226. };
  227.  
  228. resource 'DITL' (r32BitQDAlert, purgeable) {
  229.     { /* array DITLarray: 3 elements */
  230.         /* [1] */
  231.         {50, 335, 70, 414},
  232.         Button {
  233.             enabled,
  234.             "OK"
  235.         },
  236.         /* [2] */
  237.         {10, 60, 30, 415},
  238.         StaticText {
  239.             disabled,
  240.             "32-bit QuickDraw is required to run PrGeneral Play..."
  241.         },
  242.         /* [3] */
  243.         {8, 8, 40, 40},
  244.         Icon {
  245.             disabled,
  246.             2
  247.         }
  248.     }
  249. };
  250.  
  251.  
  252. /* this ALRT and DITL are used to tell the user that PrGeneral is not available,   */
  253. /* but, you will still be able to print with the current printer...                */
  254.  
  255. resource 'ALRT' (rNOPrGeneralAlert, purgeable) {
  256.     {40, 20, 155, 470},
  257.     rNOPrGeneralAlert,
  258.     { /* array: 4 elements */
  259.         /* [1] */
  260.         OK, visible, silent,
  261.         /* [2] */
  262.         OK, visible, silent,
  263.         /* [3] */
  264.         OK, visible, silent,
  265.         /* [4] */
  266.         OK, visible, silent
  267.     }
  268. };
  269.  
  270. resource 'DITL' (rNOPrGeneralAlert, purgeable) {
  271.     { /* array DITLarray: 3 elements */
  272.         /* [1] */
  273.         {80, 350, 100, 430},
  274.         Button {
  275.             enabled,
  276.             "OK"
  277.         },
  278.         /* [2] */
  279.         {10, 60, 65, 445},
  280.         StaticText {
  281.             disabled,
  282.             "PrGeneral is NOT available for the current printer.  You will not be able to use the features of PrGeneral, but PrGeneral Play will still print..."
  283.         },
  284.     }
  285. };
  286.  
  287.  
  288. /* this ALRT and DITL are used to display the results of testing for "landscape" orientation */
  289.  
  290. resource 'ALRT' (rLandscapeAlert, purgeable) {
  291.     {40, 20, 122, 404},
  292.     rLandscapeAlert,
  293.     { /* array: 4 elements */
  294.         /* [1] */
  295.         OK, visible, silent,
  296.         /* [2] */
  297.         OK, visible, silent,
  298.         /* [3] */
  299.         OK, visible, silent,
  300.         /* [4] */
  301.         OK, visible, silent 
  302.     }
  303. };
  304.  
  305.  
  306. resource 'DITL' (rLandscapeAlert, purgeable) {
  307.     { /* array DITLarray: 3 elements */
  308.         /* [1] */
  309.         {50, 293, 70, 373},
  310.         Button {
  311.             enabled,
  312.             "OK"
  313.         },
  314.         /* [2] */
  315.         {16, 61, 39, 373},
  316.         StaticText {
  317.             disabled,
  318.             "^0"
  319.         }
  320.     }
  321. };
  322.  
  323. resource 'STR ' (201, purgeable) {
  324.         "Landscape orientation has been selected..."                                                        
  325. };
  326. resource 'STR ' (202, purgeable) {
  327.         "Landscape orientation has NOT been selected..."                                                        
  328. };
  329.  
  330. /* here is the quintessential MultiFinder friendliness device, the SIZE resource */
  331.  
  332. resource 'SIZE' (-1) {
  333.     dontSaveScreen,
  334.     acceptSuspendResumeEvents,
  335.     enableOptionSwitch,
  336.     canBackground,                /* we can background; we don't currently, but our sleep value */
  337.                                 /* guarantees we don't hog the Mac while we are in the background */
  338.     multiFinderAware,            /* this says we do our own activate/deactivate; don't fake us out */
  339.     backgroundAndForeground,    /* this is definitely not a background-only application! */
  340.     dontGetFrontClicks,            /* change this is if you want "do first click" behavior like the Finder */
  341.     ignoreChildDiedEvents,        /* essentially, I'm not a debugger (sub-launching) */
  342.     not32BitCompatible,            /* this app should not be run in 32-bit address space */
  343.     reserved,
  344.     reserved,
  345.     reserved,
  346.     reserved,
  347.     reserved,
  348.     reserved,
  349.     reserved,
  350.     kPrefSize * 1024,
  351.     kMinSize * 1024    
  352. };
  353.  
  354.  
  355. type 'luKE' as 'STR ';
  356.  
  357. resource 'luKE' (0) {
  358.     "PrGeneral Play - Version 1.0"
  359. };
  360.  
  361.  
  362. resource 'BNDL' (128) {
  363.     'luKE',
  364.     0,
  365.     {
  366.         'ICN#',
  367.         {
  368.             0, 128;
  369.         },
  370.         'FREF',
  371.         {
  372.             0, 128;
  373.         }
  374.     }
  375. };
  376.  
  377.  
  378. resource 'FREF' (128) {
  379.     'APPL',
  380.     0,
  381.     ""
  382. };
  383.  
  384.  
  385. resource 'ICN#' (128) {
  386.     { /* array: 2 elements */
  387.         /* [1] */
  388.         $"04 30 40 00 0A 50 A0 00 0B 91 10 02 08 22 08 03"
  389.         $"12 24 04 05 20 28 02 09 40 10 01 11 80 0C 00 A1"
  390.         $"80 03 FF C2 7E 00 FF 04 01 00 7F 04 03 00 1E 08"
  391.         $"04 E0 00 0C 08 E0 00 0A 10 E0 00 09 08 C0 00 06"
  392.         $"04 87 FE 04 02 88 01 04 01 88 00 84 00 88 00 44"
  393.         $"00 88 00 44 00 88 00 C4 01 10 01 88 02 28 03 10"
  394.         $"01 C4 04 E0 00 02 08 00 73 BF FB EE 4C A2 8A 2A"
  395.         $"40 AA AA EA 52 AA AA 24 5E A2 8A EA 73 BE FB 8E",
  396.         /* [2] */
  397.         $"04 30 40 00 0E 70 E0 00 0F F1 F0 02 0F E3 F8 03"
  398.         $"1F E7 FC 07 3F EF FE 0F 7F FF FF 1F FF FF FF BF"
  399.         $"FF FF FF FE 7F FF FF FC 01 FF FF FC 03 FF FF F8"
  400.         $"07 FF FF FC 0F FF FF FE 1F FF FF FF 0F FF FF FE"
  401.         $"07 FF FF FC 03 FF FF FC 01 FF FF FC 00 FF FF FC"
  402.         $"00 FF FF FC 00 FF FF FC 01 FF FF F8 03 EF FF F0"
  403.         $"01 C7 FC E0 00 03 F8 00 73 BF FB EE 7F BE FB EE"
  404.         $"7F BE FB EE 7F BE FB E4 7F BE FB EE 73 BE FB 8E"
  405.     }
  406. };
  407.  
  408. data 'ics#' (128) {
  409.     $"3CC0 3D61 5633 861D F1FB 10F2 2C03 6C03"            /* <¿=aV3Ü.....,.l. */
  410.     $"3BF2 1A0A 0A0A 161E 1B2C FFFF DFFF FFFF"            /* ;........,...... */
  411.     $"3CC0 3DE1 7FF3 FFFF FFFF 1FFE 3FFF 7FFF"            /* <¿=.........?... */
  412.     $"3FFE 1FFE 0FFE 1FFE 1FFC FFFF FFFF FFFF"            /* ?............... */
  413. };
  414.  
  415. data 'icl4' (128) {
  416.     $"0000 0F00 00FF 0000 0F00 0000 0000 0000"            /* ................ */
  417.     $"0000 F0F0 0F0F 0000 F0F0 0000 0000 0000"            /* ................ */
  418.     $"0000 F0FF F00F 000F 000F 0000 0000 00F0"            /* ................ */
  419.     $"0000 F000 00F0 00F0 0000 F000 0000 00FF"            /* ................ */
  420.     $"000F 00F0 00F0 0F00 0000 0F00 0000 0F0F"            /* ................ */
  421.     $"00F0 0000 00F0 F000 0000 00F0 0000 F00F"            /* ................ */
  422.     $"0F00 0000 000F 0000 0000 000F 000F 000F"            /* ................ */
  423.     $"F000 0000 0000 FF00 0000 0000 F0F0 000F"            /* ................ */
  424.     $"F000 0000 0000 00FF FFFF FFFF FF00 00F0"            /* ................ */
  425.     $"0FFF FFF0 0000 0000 FFFF FFFF 0000 0F00"            /* ................ */
  426.     $"0000 000F 0000 0000 0FFF FFFF 0000 0F00"            /* ................ */
  427.     $"0000 00FF 0000 0000 000F FFF0 0000 F000"            /* ................ */
  428.     $"0000 0F00 FFF0 0000 0000 0000 0000 FF00"            /* ................ */
  429.     $"0000 F000 FFF0 0000 0000 0000 0000 F0F0"            /* ................ */
  430.     $"000F 0000 FFF0 0000 0000 0000 0000 F00F"            /* ................ */
  431.     $"0000 F000 FF00 0000 0000 0000 0000 0FF0"            /* ................ */
  432.     $"0000 0F00 F000 0FFF FFFF FFF0 0000 0F00"            /* ................ */
  433.     $"0000 00F0 F000 F000 0000 000F 0000 0F00"            /* ................ */
  434.     $"0000 000F F000 F000 0000 0000 F000 0F00"            /* ................ */
  435.     $"0000 0000 F000 F000 0000 0000 0F00 0F00"            /* ................ */
  436.     $"0000 0000 F000 F000 0000 0000 0F00 0F00"            /* ................ */
  437.     $"0000 0000 F000 F000 0000 0000 FF00 0F00"            /* ................ */
  438.     $"0000 000F 000F 0000 0000 000F F000 F000"            /* ................ */
  439.     $"0000 00F0 00F0 F000 0000 00FF 000F 0000"            /* ................ */
  440.     $"0000 000F FF00 0F00 0000 0F00 FFF0 0000"            /* ................ */
  441.     $"0000 0000 0000 00F0 0000 F000 0000 0000"            /* ................ */
  442.     $"0FFF 00FF F0FF FFFF FFFF F0FF FFF0 FFF0"            /* ................ */
  443.     $"0F00 FF00 F0F0 00F0 F000 F0F0 00F0 F0F0"            /* ................ */
  444.     $"0F00 0000 F0F0 F0F0 F0F0 F0F0 FFF0 F0F0"            /* ................ */
  445.     $"0F0F 00F0 F0F0 F0F0 F0F0 F0F0 00F0 0F00"            /* ................ */
  446.     $"0F0F FFF0 F0F0 00F0 F000 F0F0 FFF0 F0F0"            /* ................ */
  447.     $"0FFF 00FF F0FF FFF0 FFFF F0FF F000 FFF0"            /* ................ */
  448. };
  449.  
  450. data 'icl8' (128) {
  451.     $"0000 0000 00FF 0000 0000 FFFF 0000 0000"            /* ................ */
  452.     $"00FF 0000 0000 0000 0000 0000 0000 0000"            /* ................ */
  453.     $"0000 0000 FF00 FF00 00FF 00FF 0000 0000"            /* ................ */
  454.     $"FF00 FF00 0000 0000 0000 0000 0000 0000"            /* ................ */
  455.     $"0000 0000 FF00 FFFF FF00 00FF 0000 00FF"            /* ................ */
  456.     $"0000 00FF 0000 0000 0000 0000 0000 FF00"            /* ................ */
  457.     $"0000 0000 FF00 0000 0000 FF00 0000 FF00"            /* ................ */
  458.     $"0000 0000 FF00 0000 0000 0000 0000 FFFF"            /* ................ */
  459.     $"0000 00FF 0000 FF00 0000 FF00 00FF 0000"            /* ................ */
  460.     $"0000 0000 00FF 0000 0000 0000 00FF 00FF"            /* ................ */
  461.     $"0000 FF00 0000 0000 0000 FF00 FF00 0000"            /* ................ */
  462.     $"0000 0000 0000 FF00 0000 0000 FF00 00FF"            /* ................ */
  463.     $"00FF 0000 0000 0000 0000 00FF 0000 0000"            /* ................ */
  464.     $"0000 0000 0000 00FF 0000 00FF 0000 00FF"            /* ................ */
  465.     $"FF00 0000 0000 0000 0000 0000 FFFF 0000"            /* ................ */
  466.     $"0000 0000 0000 0000 FF00 FF00 0000 00FF"            /* ................ */
  467.     $"FF00 0000 0000 0000 0000 0000 0000 FFFF"            /* ................ */
  468.     $"FFFF FFFF FFFF FFFF FFFF 0000 0000 FF00"            /* ................ */
  469.     $"00FF FFFF FFFF FF00 0000 0000 0000 0000"            /* ................ */
  470.     $"FFFF FFFF FFFF FFFF 0000 0000 00FF 0000"            /* ................ */
  471.     $"0000 0000 0000 00FF 0000 0000 0000 0000"            /* ................ */
  472.     $"00FF FFFF FFFF FFFF 0000 0000 00FF 0000"            /* ................ */
  473.     $"0000 0000 0000 FFFF 0000 0000 0000 0000"            /* ................ */
  474.     $"0000 00FF FFFF FF00 0000 0000 FF00 0000"            /* ................ */
  475.     $"0000 0000 00FF 0000 FFFF FF00 0000 0000"            /* ................ */
  476.     $"0000 0000 0000 0000 0000 0000 FFFF 0000"            /* ................ */
  477.     $"0000 0000 FF00 0000 FFFF FF00 0000 0000"            /* ................ */
  478.     $"0000 0000 0000 0000 0000 0000 FF00 FF00"            /* ................ */
  479.     $"0000 00FF 0000 0000 FFFF FF00 0000 0000"            /* ................ */
  480.     $"0000 0000 0000 0000 0000 0000 FF00 00FF"            /* ................ */
  481.     $"0000 0000 FF00 0000 FFFF 0000 0000 0000"            /* ................ */
  482.     $"0000 0000 0000 0000 0000 0000 00FF FF00"            /* ................ */
  483.     $"0000 0000 00FF 0000 FF00 0000 00FF FFFF"            /* ................ */
  484.     $"FFFF FFFF FFFF FF00 0000 0000 00FF 0000"            /* ................ */
  485.     $"0000 0000 0000 FF00 FF00 0000 FF00 0000"            /* ................ */
  486.     $"0000 0000 0000 00FF 0000 0000 00FF 0000"            /* ................ */
  487.     $"0000 0000 0000 00FF FF00 0000 FF00 0000"            /* ................ */
  488.     $"0000 0000 0000 0000 FF00 0000 00FF 0000"            /* ................ */
  489.     $"0000 0000 0000 0000 FF00 0000 FF00 0000"            /* ................ */
  490.     $"0000 0000 0000 0000 00FF 0000 00FF 0000"            /* ................ */
  491.     $"0000 0000 0000 0000 FF00 0000 FF00 0000"            /* ................ */
  492.     $"0000 0000 0000 0000 00FF 0000 00FF 0000"            /* ................ */
  493.     $"0000 0000 0000 0000 FF00 0000 FF00 0000"            /* ................ */
  494.     $"0000 0000 0000 0000 FFFF 0000 00FF 0000"            /* ................ */
  495.     $"0000 0000 0000 00FF 0000 00FF 0000 0000"            /* ................ */
  496.     $"0000 0000 0000 00FF FF00 0000 FF00 0000"            /* ................ */
  497.     $"0000 0000 0000 FF00 0000 FF00 FF00 0000"            /* ................ */
  498.     $"0000 0000 0000 FFFF 0000 00FF 0000 0000"            /* ................ */
  499.     $"0000 0000 0000 00FF FFFF 0000 00FF 0000"            /* ................ */
  500.     $"0000 0000 00FF 0000 FFFF FF00 0000 0000"            /* ................ */
  501.     $"0000 0000 0000 0000 0000 0000 0000 FF00"            /* ................ */
  502.     $"0000 0000 FF00 0000 0000 0000 0000 0000"            /* ................ */
  503.     $"00FF FFFF 0000 FFFF FF00 FFFF FFFF FFFF"            /* ................ */
  504.     $"FFFF FFFF FF00 FFFF FFFF FF00 FFFF FF00"            /* ................ */
  505.     $"00FF 0000 FFFF 0000 FF00 FF00 0000 FF00"            /* ................ */
  506.     $"FF00 0000 FF00 FF00 0000 FF00 FF00 FF00"            /* ................ */
  507.     $"00FF 0000 0000 0000 FF00 FF00 FF00 FF00"            /* ................ */
  508.     $"FF00 FF00 FF00 FF00 FFFF FF00 FF00 FF00"            /* ................ */
  509.     $"00FF 00FF 0000 FF00 FF00 FF00 FF00 FF00"            /* ................ */
  510.     $"FF00 FF00 FF00 FF00 0000 FF00 00FF 0000"            /* ................ */
  511.     $"00FF 00FF FFFF FF00 FF00 FF00 0000 FF00"            /* ................ */
  512.     $"FF00 0000 FF00 FF00 FFFF FF00 FF00 FF00"            /* ................ */
  513.     $"00FF FFFF 0000 FFFF FF00 FFFF FFFF FF00"            /* ................ */
  514.     $"FFFF FFFF FF00 FFFF FF00 0000 FFFF FF00"            /* ................ */
  515. };
  516.  
  517. data 'ics8' (128) {
  518.     $"0000 FFFF FFFF 0000 FFFF 0000 0000 0000"            /* ................ */
  519.     $"0000 FFFF FFFF 00FF 00FF FF00 0000 00FF"            /* ................ */
  520.     $"00FF 00FF 00FF FF00 0000 FFFF 0000 FFFF"            /* ................ */
  521.     $"FF00 0000 00FF FF00 0000 00FF FFFF 00FF"            /* ................ */
  522.     $"FFFF FFFF 0000 00FF FFFF FFFF FF00 FFFF"            /* ................ */
  523.     $"0000 00FF 0000 0000 FFFF FFFF 0000 FF00"            /* ................ */
  524.     $"0000 FF00 FFFF 0000 0000 0000 0000 FFFF"            /* ................ */
  525.     $"00FF FF00 FFFF 0000 0000 0000 0000 FFFF"            /* ................ */
  526.     $"0000 FFFF FF00 FFFF FFFF FFFF 0000 FF00"            /* ................ */
  527.     $"0000 00FF FF00 FF00 0000 0000 FF00 FF00"            /* ................ */
  528.     $"0000 0000 FF00 FF00 0000 0000 FF00 FF00"            /* ................ */
  529.     $"0000 00FF 00FF FF00 0000 00FF FFFF FF00"            /* ................ */
  530.     $"0000 00FF FF00 FFFF 0000 FF00 FFFF 0000"            /* ................ */
  531.     $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"            /* ................ */
  532.     $"FFFF 00FF FFFF FFFF FFFF FFFF FFFF FFFF"            /* ................ */
  533.     $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"            /* ................ */
  534. };
  535.  
  536. data 'ics4' (128) {
  537.     $"00FF FF00 FF00 0000 00FF FF0F 0FF0 000F"            /* ................ */
  538.     $"0F0F 0FF0 00FF 00FF F000 0FF0 000F FF0F"            /* ................ */
  539.     $"FFFF 000F FFFF F0FF 000F 0000 FFFF 00F0"            /* ................ */
  540.     $"00F0 FF00 0000 00FF 0FF0 FF00 0000 00FF"            /* ................ */
  541.     $"00FF F0FF FFFF 00F0 000F F0F0 0000 F0F0"            /* ................ */
  542.     $"0000 F0F0 0000 F0F0 000F 0FF0 000F FFF0"            /* ................ */
  543.     $"000F F0FF 00F0 FF00 FFFF FFFF FFFF FFFF"            /* ................ */
  544.     $"FF0F FFFF FFFF FFFF FFFF FFFF FFFF FFFF"            /* ................ */
  545. };
  546.  
  547.  
  548.